A Prolog Technology Theorem Prover: A New Exposition and Implementation in Prolog

نویسنده

  • Mark E. Stickel
چکیده

A Prolog technology theorem prover (PTTP) is an extension of Prolog that is complete for the full rst-order predicate calculus. It di ers from Prolog in its use of uni cation with the occurs check for soundness, depthrst iterative-deepening search instead of unbounded depthrst search to make the search strategy complete, and the model elimination reduction rule that is added to Prolog inferences to make the inference system complete. This paper describes a new Prolog-based implementation of PTTP. It uses three compile-time transformations to translate formulas into Prolog clauses that directly execute, with the support of a few run-time predicates, the model elimination procedure with depthrst iterative-deepening search and uni cation with the occurs check. Its high performance exceeds that of Prolog-based PTTP interpreters, and it is more concise and readable than the earlier Lisp-based compiler, which makes it superior for expository purposes. Examples of inputs and outputs of the compile-time transformations provide an easy and quite precise way to explain how PTTP works. This Prolog-based version makes it easier to incorporate PTTP theorem-proving ideas into Prolog programs. Some suggestions are made on extensions to Prolog that could be used to improve PTTP's performance. This research was supported by the National Science Foundation under Grant CCR-8611116. The views and conclusions contained herein are those of the author and should not be interpreted as necessarily representing the o cial policies, either expressed or implied, of the National Science Foundation or the United States government.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Theorem Prover : A New Exposition and Implementation in Prolog

A Prolog technology theorem prover (PTTP) is an extension of Prolog that is complete for the full rst-order predicate calculus. It di ers from Prolog in its use of uni cation with the occurs check for soundness, depthrst iterative-deepening search instead of unbounded depthrst search to make the search strategy complete, and the model elimination reduction rule that is added to Prolog inference...

متن کامل

Ergo 6: a Generic Proof Engine That Uses Prolog Proof Technology

To support formal reasoning in mathematical and software engineering applications, it is desirable to have a generic prover that can be instantiated with a range of logics. This allows the prover to be applied to a wider variety of reasoning tasks than a fixed-logic prover. This paper describes the design principles and the architecture of the latest version of the Ergo proof engine, Ergo 6. Er...

متن کامل

leanCoP 2.0and ileanCoP 1.2: High Performance Lean Theorem Proving in Classical and Intuitionistic Logic (System Descriptions)

leanCoP is a very compact theorem prover for classical firstorder logic, based on the connection (tableau) calculus and implemented in Prolog. leanCoP 2.0 enhances leanCoP 1.0 by adding regularity, lemmata, and a technique for restricting backtracking. It also provides a definitional translation into clausal form and integrates “Prolog technology” into a lean theorem prover. ileanCoP is a compa...

متن کامل

Ileantap: an Intuitionistic Theorem Prover Ileantap: an Intuitionistic Theorem Prover

We present a Prolog program that implements a sound and complete theorem prover for rst-order intuitionistic logic. It is based on free-variable semantic tableaux extended by an additional string uniica-tion to ensure the particular restrictions in intuitionistic logic. Due to the modular treatment of the diierent logical connectives the implementation can easily be adapted to deal with other n...

متن کامل

Formal Verification of Logic Programs: Foundations and Implementation

We present the theoretical foundations of LPTP, a logic program theorem prover implemented in Prolog by the author. LPTP is an interactive theorem prover in which one can prove termination and correctness properties of pure Prolog programs that contain negation and built-in predicates like is/2 and call/n. The largest program that has been verified using LPTP is 635 lines long including its spe...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1990